<!DOCTYPE HTML PUBLIC "-//ORA//DTD CD HTML 3.2//EN">
<HTML>
<HEAD>
<TITLE>[Chapter 28] 28.18 java.net.SocketImpl (JDK 1.0)</TITLE>
<META NAME="author" CONTENT="David Flanagan">
<META NAME="date" CONTENT="Thu Jul 31 16:31:16 1997">
<META NAME="form" CONTENT="html">
<META NAME="metadata" CONTENT="dublincore.0.1">
<META NAME="objecttype" CONTENT="book part">
<META NAME="otheragent" CONTENT="gmat dbtohtml">
<META NAME="publisher" CONTENT="O'Reilly &amp; Associates, Inc.">
<META NAME="source" CONTENT="SGML">
<META NAME="subject" CONTENT="Java">
<META NAME="title" CONTENT="Java in a Nutshell">
<META HTTP-EQUIV="Content-Script-Type" CONTENT="text/javascript">
</HEAD>
<body vlink="#551a8b" alink="#ff0000" text="#000000" bgcolor="#FFFFFF" link="#0000ee">

<DIV CLASS=htmlnav>
<H1><a href='index.htm'><IMG SRC="gifs/smbanner.gif"
     ALT="Java in a Nutshell" border=0></a></H1>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch28_17.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><B><FONT FACE="ARIEL,HELVETICA,HELV,SANSERIF" SIZE="-1">Chapter 28<br>The java.net Package</FONT></B></TD>
<td width=172 align=right valign=top><A HREF="ch28_19.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
</table>

&nbsp;
<hr align=left width=515>
</DIV>
<DIV CLASS=sect1>
<h2 CLASS=sect1><A CLASS="TITLE" NAME="JNUT2-CH-28-SECT-18">28.18 java.net.SocketImpl (JDK 1.0)</A></h2>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-28-SECT-18.1"></A></h3>
</DIV>

<P CLASS=para>
This abstract class defines the methods necessary to
implement communication through sockets. Different
subclasses of this class may provide different
implementations suitable in different environments (such as
behind firewalls). These socket implementations are used by
the <tt CLASS=literal>Socket</tt> and <tt CLASS=literal>ServerSocket</tt> classes.

<P CLASS=para>
Normal applications never need to use or subclass this
class.

<DIV CLASS=screen>
<P>
<PRE>
public abstract class <tt CLASS=literal>SocketImpl</tt> extends Object {
    // <tt CLASS=literal>Default Constructor: public SocketImpl()</tt>
    // <tt CLASS=literal>Protected Instance Variables</tt>
            protected InetAddress <tt CLASS=literal>address</tt>;
            protected FileDescriptor <tt CLASS=literal>fd</tt>;
            protected int <tt CLASS=literal>localport</tt>;
            protected int <tt CLASS=literal>port</tt>;
    // <tt CLASS=literal>Public Instance Methods</tt>
            public String <tt CLASS=literal>toString</tt>();  //<tt CLASS=literal> Overrides Object</tt>
    // <tt CLASS=literal>Protected Instance Methods</tt>
            protected abstract void <tt CLASS=literal>accept</tt>(SocketImpl <tt CLASS=literal>s</tt>) throws IOException;
            protected abstract int <tt CLASS=literal>available</tt>() throws IOException;
            protected abstract void <tt CLASS=literal>bind</tt>(InetAddress <tt CLASS=literal>host</tt>, int <tt CLASS=literal>port</tt>) throws IOException;
            protected abstract void <tt CLASS=literal>close</tt>() throws IOException;
            protected abstract void <tt CLASS=literal>connect</tt>(String <tt CLASS=literal>host</tt>, int <tt CLASS=literal>port</tt>) throws IOException;
            protected abstract void <tt CLASS=literal>connect</tt>(InetAddress <tt CLASS=literal>address</tt>, int <tt CLASS=literal>port</tt>) throws IOException;
            protected abstract void <tt CLASS=literal>create</tt>(boolean <tt CLASS=literal>stream</tt>) throws IOException;
            protected FileDescriptor <tt CLASS=literal>getFileDescriptor</tt>();
            protected InetAddress <tt CLASS=literal>getInetAddress</tt>();
            protected abstract InputStream <tt CLASS=literal>getInputStream</tt>() throws IOException;
            protected int <tt CLASS=literal>getLocalPort</tt>();
            protected abstract OutputStream <tt CLASS=literal>getOutputStream</tt>() throws IOException;
            protected int <tt CLASS=literal>getPort</tt>();
            protected abstract void <tt CLASS=literal>listen</tt>(int <tt CLASS=literal>backlog</tt>) throws IOException;
}
</PRE>
</DIV>

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-28-SECT-18.2">Passed To:</A></h3>

<P CLASS=para>
Socket(), 
SocketImpl.accept()

</DIV>

<DIV CLASS=sect2>
<h3 CLASS=sect2><A CLASS="TITLE" NAME="JNUT2-CH-28-SECT-18.3">Returned By:</A></h3>

<P CLASS=para>
SocketImplFactory.createSocketImpl()

</DIV>

</DIV>


<DIV CLASS=htmlnav>

<P>
<HR align=left width=515>
<table width=515 border=0 cellpadding=0 cellspacing=0>
<tr>
<td width=172 align=left valign=top><A HREF="ch28_17.htm"><IMG SRC="gifs/txtpreva.gif" ALT="Previous" border=0></A></td>
<td width=171 align=center valign=top><a href="index.htm"><img src='gifs/txthome.gif' border=0 alt='Home'></a></td>
<td width=172 align=right valign=top><A HREF="ch28_19.htm"><IMG SRC="gifs/txtnexta.gif" ALT="Next" border=0></A></td>
</tr>
<tr>
<td width=172 align=left valign=top>java.net.SocketException (JDK 1.0)</td>
<td width=171 align=center valign=top><a href="index/idx_0.htm"><img src='gifs/index.gif' alt='Book Index' border=0></a></td>
<td width=172 align=right valign=top>java.net.SocketImplFactory (JDK 1.0)</td>
</tr>
</table>
<hr align=left width=515>

<IMG SRC="gifs/smnavbar.gif" USEMAP="#map" BORDER=0> 
<MAP NAME="map"> 
<AREA SHAPE=RECT COORDS="0,0,108,15" HREF="../javanut/index.htm"
alt="Java in a Nutshell"> 
<AREA SHAPE=RECT COORDS="109,0,200,15" HREF="../langref/index.htm" 
alt="Java Language Reference"> 
<AREA SHAPE=RECT COORDS="203,0,290,15" HREF="../awt/index.htm" 
alt="Java AWT"> 
<AREA SHAPE=RECT COORDS="291,0,419,15" HREF="../fclass/index.htm" 
alt="Java Fundamental Classes"> 
<AREA SHAPE=RECT COORDS="421,0,514,15" HREF="../exp/index.htm" 
alt="Exploring Java"> 
</MAP>
</DIV>

</BODY>
</HTML>
